import { msgTemplateGetData, msgTemplateInitList } from '../api/wx_template'

/**
 * @Author: Wang chunsheng  email:2192138785@qq.com
 * @Date:   2024-03-18 15:53:41
 * @Last Modified by:   Wang chunsheng  email:2192138785@qq.com
 * @Last Modified time: 2024-03-18 23:49:12
 */
export const form = {
  template_id: {
    label: '公众号模板ID',
    // 只需要在这里指定为 tree-select 即可
    type: 'tree-select',
    // 属性参考: https://vue-treeselect.js.org/
    attrs: {
      multiple: false,
      clearable: true
    },
    options: async data => {
      const res = await msgTemplateInitList()
      const arr = [{
        id: 0,
        label: '选择模板'
      }]
      console.log(res)
      res.data.dataProvider.allModels.forEach(element => {
        arr.push({
          id: element.template_id,
          label: element.title
        })
      })
      return arr
    }
  },
  'url': {
    'type': 'input',
    'label': '链接地址'
  },
  'data': {
    'type': 'textarea',
    'label': '模板内容',
    vif: (data) => data.template_id,
    // 这里必须制定 optionsLinkageFields 做为关联字段，当次字段值发生变化时，会重新出发请求
    optionsLinkageFields: ['template_id'],
    options: async(data) => {
      const res = await msgTemplateGetData({
        template_id: data.template_id
      })
      // eslint-disable-next-line require-atomic-updates
      data.data = Object.assign(res.data, data.data)
      return res.data
    }
  },
  'miniprogram_appid': {
    'type': 'input',
    'label': '小程序appid'
  },
  'miniprogram_pagepath': {
    'type': 'input',
    'label': '小程序页面地址'
  },
  'status': {
    type: 'radio',
    label: '',
    isOptions: true,
    options: [
      {
        'text': '有效',
        'value': 1
      },
      {
        'text': '无效',
        'value': 0
      }
    ]
  }
}

export const order = ['template_id', 'url', 'data', 'miniprogram_appid', 'miniprogram_pagepath', 'status']

export const tableColumns = [{
  'label': 'id',
  'prop': 'id'
}, {
  'label': 'Bloc ID',
  'prop': 'bloc_id'
}, {
  'label': '公众号模板ID',
  'prop': 'template_id'
}, {
  'label': '链接地址',
  'prop': 'url'
}, {
  'label': '模板内容',
  'prop': 'data'
}, {
  'label': '小程序appid',
  'prop': 'miniprogram_appid'
}, {
  'label': '小程序页面地址',
  'prop': 'miniprogram_pagepath'
}, {
  'label': '是否有效',
  'prop': 'status'
}, {
  'label': 'action',
  'prop': 'action',
  'slot': 'action'
}]
export const filterInfo = {
  fieldList: {
    'label': 'Update Time',
    'type': 'input',
    'value': 'OfficialaccountMsgTemplateList[update_time]'
  }

}

export const path = {
  index: 'diandi-subscription-wxmp-msg-send-index',
  create: 'diandi-subscription-wxmp-msg-send-create',
  update: 'diandi-subscription-wxmp-msg-send-update',
  api: '/officialaccount/send'
}

export const rowKey = 'id'
